/**
 * 我的申请 <br/>
 *
 * @author zhangmao-20151030
 * @author modify by gonglong-20151030
 */
$(function () {

    var defaultPagingObj = {
        total : 0,
        pageSize : 10,
        page : 1
    };

    PAGE_DATA.pagingObj = $.extend(defaultPagingObj, PAGE_DATA.pagingObj);
    // 主要分类：咖啡豆及咖啡相关,等.
    commTemplUtil.initPage();

    // 渲染左侧菜单;
    commTemplUtil.initCommLeftMemu();

    // 页面初始化-首次渲染。
    getApplyDataList(1);

    bindTimeAndSearch();
    //左边导航选中
    commTemplUtil.setLeftMenu(5);
});

/**
 * 为页面 的 "时间选择" 和 "查询"绑定事件<br/>
 * 只需绑定一次。
 *
 * @author zhangmao-20151030
 * @author modify by gonglong-20151030
 */
function bindTimeAndSearch() {
    // 渲染日期插件
    $('#time1').datepicker();
    $('#time2').datepicker();

    // 查询
    $("#search-btn").on("click", function () {
        getApplyDataList(1);
    });

};

/**
 * 获取列表. <br/>
 *
 * @author zhangmao-20151030
 * @author modify by gonglong-20151030
 */
function getApplyDataList(page) {

    var onClickObj = {
        onClick : function () {
            var clickPage = $(this).attr("data-page");
            getApplyDataList(parseInt(clickPage));
        }
    };

    var applyInfoTemplObj = _.template($('#item-template').html());
    var time1 = $("#time1").val() || "";
    var time2 = $("#time2").val() || "";
    var name = $("#supplyername").val() || "";

    $.ajax({
        url : PAGE_CONFIG.requestUrl.myApply,
        type : "get",
        dataType : "json",
        data : {
            page : page,
            pageSize : PAGE_DATA.pagingObj.pageSize,
            startTime : time1,
            endTime : time2,
            supplyName : name
        },
        success : function (result) {
            var datas = $.extend([], result.data);
            var tmplObjHtml = applyInfoTemplObj(datas);
            $("#commTabs_1_body").html(tmplObjHtml);

            bindDataListEvent();

            var tmpConf = $.extend(result.pagingConfData, onClickObj);
            commTemplUtil.initPaging("#comm-paging", tmpConf);
        },
        error : function (xhr, status, error) {
            // 弹出框-提示信息.
            commTemplUtil.showErrorDialog({
                title : "注意！",
                message : "数据获取失败！",
                ok_txt : "确定"
            });
        }
    });

};

/**
 * 页面数据列表刷新后, 给 "取消"按钮绑定事件.<br/>
 * 点击"取消"，显示确认弹出框，点击"提交"则删除该条数据，并重新渲染本页数据. <br/>
 *
 * @author zhangmao-20151030
 * @author modify by gonglong-20151030
 */
function bindDataListEvent() {

    // 点击"取消"-弹出框模板.
    var delConfTemplObj = _.template($('#del-conf-tmpl').html());
    // 申请信息模板.
    var applyInfoTemplObj = _.template($('#item-template').html());
    
    var onClickObj = {
        onClick : function () {
            var clickPage = $(this).attr("data-page");
            getApplyDataList(parseInt(clickPage));
        }
    };
    
    //弹出框
    $(".handle").click(function () {
        var getId = $(this).attr("code");
        var dia = dialog({
                title : '   ',
                content : delConfTemplObj,
                onshow : function () {
                    
                    $(".submits").attr("code", getId);
                    
                    // 给弹出框-"提交"按钮 绑定事件.
                    $(".submits").click(function () {
                        var thisId = $(this).attr("code");
                        // comm-paging
                        var page = $("#comm-paging").attr("current-page");
                        var time1 = $("#time1").val() || "";
                        var time2 = $("#time2").val() || "";
                        var name = $("#supplyername").val() || "";
                        
                        $.ajax({
                            url : PAGE_CONFIG.requestUrl.updateApply,
                            type : "put",
                            dataType : "json",
                            data : {
                                id : thisId,
                                page : parseInt(page),
                                pageSize : PAGE_DATA.pagingObj.pageSize,
                                startTime : time1,
                                endTime : time2,
                                supplyName : name,
                                _token : COMM_DATA.csrfToken
                            },
                            success : function (result) {
                                dia.remove();
                                
                                datas = $.extend([], result.data);
                                var tmplObjHtml = applyInfoTemplObj(datas);
                                $("#commTabs_1_body").html(tmplObjHtml);

                                var tmpConf = $.extend(result.pagingConfData, onClickObj);
                                commTemplUtil.initPaging("#comm-paging", tmpConf);
                            },
                            error : function (xhr, status, error) {
                                dia.remove();
                                
                                // 弹出框-提示信息.
                                commTemplUtil.showErrorDialog({
                                    title : "注意！",
                                    message : "删除数据失败！",
                                    ok_txt : "确定"
                                });
                            }
                        });
                    });
                    $(".remove").click(function () {
                        dia.remove();
                    });
                }
            });

        dia.showModal();

    });
};
